
package com.cctv.esb.schema.commoncomplextype._0;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * 制作任务信息类型
 * 
 * <p>ProdTaskInfoType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="ProdTaskInfoType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="ProdTaskID" type="{http://cctv.com/ESB/schema/CommonSimpleType/0.1}ProdTaskIDType"/&gt;
 *         &lt;element name="ProdTaskClass" type="{http://cctv.com/ESB/schema/CommonComplexType/0.1}ProdTaskClassType" minOccurs="0"/&gt;
 *         &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="IsUrgent" type="{http://cctv.com/ESB/schema/CommonSimpleType/0.1}IsUrgentType"/&gt;
 *         &lt;element name="StartDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&gt;
 *         &lt;element name="EndDate" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&gt;
 *         &lt;element name="ProdTaskOwner" type="{http://cctv.com/ESB/schema/CommonComplexType/0.1}UserInfoType" maxOccurs="unbounded"/&gt;
 *         &lt;element name="ProdTaskMode" type="{http://cctv.com/ESB/schema/CommonComplexType/0.1}ProdTaskModeType"/&gt;
 *         &lt;element name="ColumnCode" type="{http://cctv.com/ESB/schema/CommonSimpleType/0.1}ColumnCodeType" minOccurs="0"/&gt;
 *         &lt;element name="DepartmentCode" type="{http://cctv.com/ESB/schema/CommonSimpleType/0.1}DepartmentCodeType" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ProdTaskInfoType", propOrder = {
    "prodTaskID",
    "prodTaskClass",
    "description",
    "isUrgent",
    "startDate",
    "endDate",
    "prodTaskOwner",
    "prodTaskMode",
    "columnCode",
    "departmentCode"
})
@XmlSeeAlso({
    com.cctv.ppm.schema.ppm_commondatatypes._0.ProdTaskInfoType.class
})
public class ProdTaskInfoType {

    @XmlElement(name = "ProdTaskID", required = true)
    protected String prodTaskID;
    @XmlElement(name = "ProdTaskClass")
    protected ProdTaskClassType prodTaskClass;
    @XmlElement(name = "Description", required = true)
    protected String description;
    @XmlElement(name = "IsUrgent")
    protected boolean isUrgent;
    @XmlElement(name = "StartDate")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar startDate;
    @XmlElement(name = "EndDate")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar endDate;
    @XmlElement(name = "ProdTaskOwner", required = true)
    protected List<UserInfoType> prodTaskOwner;
    @XmlElement(name = "ProdTaskMode", required = true)
    protected ProdTaskModeType prodTaskMode;
    @XmlElement(name = "ColumnCode")
    protected String columnCode;
    @XmlElement(name = "DepartmentCode")
    protected String departmentCode;

    /**
     * 获取prodTaskID属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProdTaskID() {
        return prodTaskID;
    }

    /**
     * 设置prodTaskID属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProdTaskID(String value) {
        this.prodTaskID = value;
    }

    /**
     * 获取prodTaskClass属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ProdTaskClassType }
     *     
     */
    public ProdTaskClassType getProdTaskClass() {
        return prodTaskClass;
    }

    /**
     * 设置prodTaskClass属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ProdTaskClassType }
     *     
     */
    public void setProdTaskClass(ProdTaskClassType value) {
        this.prodTaskClass = value;
    }

    /**
     * 获取description属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置description属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

    /**
     * 获取isUrgent属性的值。
     * 
     */
    public boolean isIsUrgent() {
        return isUrgent;
    }

    /**
     * 设置isUrgent属性的值。
     * 
     */
    public void setIsUrgent(boolean value) {
        this.isUrgent = value;
    }

    /**
     * 获取startDate属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getStartDate() {
        return startDate;
    }

    /**
     * 设置startDate属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setStartDate(XMLGregorianCalendar value) {
        this.startDate = value;
    }

    /**
     * 获取endDate属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getEndDate() {
        return endDate;
    }

    /**
     * 设置endDate属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setEndDate(XMLGregorianCalendar value) {
        this.endDate = value;
    }

    /**
     * Gets the value of the prodTaskOwner property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the prodTaskOwner property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getProdTaskOwner().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link UserInfoType }
     * 
     * 
     */
    public List<UserInfoType> getProdTaskOwner() {
        if (prodTaskOwner == null) {
            prodTaskOwner = new ArrayList<UserInfoType>();
        }
        return this.prodTaskOwner;
    }

    /**
     * 获取prodTaskMode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ProdTaskModeType }
     *     
     */
    public ProdTaskModeType getProdTaskMode() {
        return prodTaskMode;
    }

    /**
     * 设置prodTaskMode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ProdTaskModeType }
     *     
     */
    public void setProdTaskMode(ProdTaskModeType value) {
        this.prodTaskMode = value;
    }

    /**
     * 获取columnCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnCode() {
        return columnCode;
    }

    /**
     * 设置columnCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnCode(String value) {
        this.columnCode = value;
    }

    /**
     * 获取departmentCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDepartmentCode() {
        return departmentCode;
    }

    /**
     * 设置departmentCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDepartmentCode(String value) {
        this.departmentCode = value;
    }

}
